文章作者:Tyan
博客:noahsnail.com | CSDN | 简书
在使用Caffe模型进行图像分类时,通常使用的图像大小为224 * 224
,如果改变输入图像的大小,有时候会碰到Check failed: shape[i] >= 0 (-1 vs. 0)
错误。
- 背景
使用ResNet-50进行图像分类训练,输入图像的大小为160 *160
。
- 错误
1 | I1013 10:53:03.395526 76959 net.cpp:129] Top shape: 16 2048 5 5 (819200) |
- 解决方案
错误日志中可以看出问题出在pool5层
,它的输入为Top shape: 16 2048 5 5 (819200)
,即16 * 2048 * 5 * 5
,16
是batch_size
,2048
为channel
数量,即kernel个数,feature map大小为5 * 5
,在prototxt中找到pool5层
,如下:
1 | layer { |
kernel size为7,比5大,因此将7改为5,重新训练,没问题。